{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "associate-caribbean",
   "metadata": {},
   "source": [
    "# Dynamic Convolution\n",
    "\n",
    "Unofficial implementation of Dynamic Convolutions. Approach from paper [Dynamic Convolution: Attention over Convolution Kernels](https://arxiv.org/pdf/1912.03458.pdf)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "hourly-local",
   "metadata": {},
   "outputs": [],
   "source": [
    "#!git clone https://github.com/TArdelean/DynamicConvolution.git"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "joined-anderson",
   "metadata": {},
   "outputs": [],
   "source": [
    "root_dir = '..' \n",
    "import os\n",
    "import sys\n",
    "sys.path.append(root_dir)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "impossible-soccer",
   "metadata": {},
   "outputs": [],
   "source": [
    "# !pip install python_papi  #Python binding for the Performance Application Programming Interface library used to count flops\n",
    "# sudo sh -c 'echo -1 >/proc/sys/kernel/perf_event_paranoid'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "greater-ottawa",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import torch\n",
    "import numpy as np\n",
    "from utils.utils import profile\n",
    "from models import dynamic_convolution_generator, Conv2dWrapper\n",
    "from models import ResNet10, MobileNetV2, MobileNetV3"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "enclosed-evening",
   "metadata": {},
   "source": [
    "### Set-up models to evaluate performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "overhead-romantic",
   "metadata": {},
   "outputs": [],
   "source": [
    "networks = [ResNet10, MobileNetV2, MobileNetV3]\n",
    "convs = [(\"\", Conv2dWrapper), (\"DY\", dynamic_convolution_generator(4, 4))]\n",
    "width_multipliers = [0.25, 0.5, 1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "decent-console",
   "metadata": {},
   "outputs": [],
   "source": [
    "def profile_models(networks, convs, width_multipliers, x, num_classes, n_repeats):\n",
    "    results = []\n",
    "    for network in networks:\n",
    "        for conv in convs:\n",
    "            for wm in width_multipliers:\n",
    "                model = network(conv[1], width_multiplier=wm, num_classes=num_classes)\n",
    "                specs = {\"model\": conv[0] + network.__name__ + \" x \" + str(wm)}\n",
    "                specs.update(profile(model, (x, 1), n_repeats))\n",
    "                results.append(specs)\n",
    "    res = pd.DataFrame(results)\n",
    "    res[\"inf_time_95_ci\"] = res[\"inf_time_std(ms)\"] * 1.96 / np.sqrt(n_repeats)\n",
    "    return res"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "pediatric-provision",
   "metadata": {},
   "source": [
    "### Profile using single input with small size \n",
    "\n",
    "We use input with size $[3, 54, 54]$ and $200$ output classes corresponding to Tiny ImageNet dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "lucky-minute",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>model</th>\n",
       "      <th>params(M)</th>\n",
       "      <th>flops(M)</th>\n",
       "      <th>inf_time_mean(ms)</th>\n",
       "      <th>inf_time_std(ms)</th>\n",
       "      <th>inf_time_95_ci</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>ResNet10 x 0.25</td>\n",
       "      <td>0.333336</td>\n",
       "      <td>52.825228</td>\n",
       "      <td>6.163139</td>\n",
       "      <td>0.593935</td>\n",
       "      <td>0.260304</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>ResNet10 x 0.5</td>\n",
       "      <td>1.277800</td>\n",
       "      <td>122.835288</td>\n",
       "      <td>9.669995</td>\n",
       "      <td>0.385042</td>\n",
       "      <td>0.168752</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>ResNet10 x 1</td>\n",
       "      <td>5.000712</td>\n",
       "      <td>243.568724</td>\n",
       "      <td>19.300563</td>\n",
       "      <td>1.625348</td>\n",
       "      <td>0.712340</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>DYResNet10 x 0.25</td>\n",
       "      <td>1.259164</td>\n",
       "      <td>53.844851</td>\n",
       "      <td>9.444115</td>\n",
       "      <td>0.694568</td>\n",
       "      <td>0.304408</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>DYResNet10 x 0.5</td>\n",
       "      <td>4.979780</td>\n",
       "      <td>125.735813</td>\n",
       "      <td>18.614882</td>\n",
       "      <td>1.341042</td>\n",
       "      <td>0.587738</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>DYResNet10 x 1</td>\n",
       "      <td>19.806100</td>\n",
       "      <td>253.903178</td>\n",
       "      <td>55.673487</td>\n",
       "      <td>2.277891</td>\n",
       "      <td>0.998330</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>MobileNetV2 x 0.25</td>\n",
       "      <td>0.494312</td>\n",
       "      <td>6.561356</td>\n",
       "      <td>17.779120</td>\n",
       "      <td>0.904191</td>\n",
       "      <td>0.396279</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>MobileNetV2 x 0.5</td>\n",
       "      <td>0.943880</td>\n",
       "      <td>17.835962</td>\n",
       "      <td>24.552521</td>\n",
       "      <td>1.698114</td>\n",
       "      <td>0.744231</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>MobileNetV2 x 1</td>\n",
       "      <td>2.480072</td>\n",
       "      <td>54.999226</td>\n",
       "      <td>37.903972</td>\n",
       "      <td>1.655225</td>\n",
       "      <td>0.725434</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>DYMobileNetV2 x 0.25</td>\n",
       "      <td>1.327760</td>\n",
       "      <td>8.451366</td>\n",
       "      <td>34.874476</td>\n",
       "      <td>2.963840</td>\n",
       "      <td>1.298960</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>DYMobileNetV2 x 0.5</td>\n",
       "      <td>3.542538</td>\n",
       "      <td>21.752851</td>\n",
       "      <td>46.860316</td>\n",
       "      <td>2.775069</td>\n",
       "      <td>1.216228</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>DYMobileNetV2 x 1</td>\n",
       "      <td>11.379740</td>\n",
       "      <td>63.088196</td>\n",
       "      <td>69.653381</td>\n",
       "      <td>5.231054</td>\n",
       "      <td>2.292611</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>MobileNetV3 x 0.25</td>\n",
       "      <td>0.517720</td>\n",
       "      <td>12.819996</td>\n",
       "      <td>13.998639</td>\n",
       "      <td>0.534191</td>\n",
       "      <td>0.234120</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>MobileNetV3 x 0.5</td>\n",
       "      <td>0.877872</td>\n",
       "      <td>27.124306</td>\n",
       "      <td>17.808580</td>\n",
       "      <td>0.502749</td>\n",
       "      <td>0.220340</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>MobileNetV3 x 1</td>\n",
       "      <td>1.913568</td>\n",
       "      <td>66.941267</td>\n",
       "      <td>25.894316</td>\n",
       "      <td>0.702401</td>\n",
       "      <td>0.307841</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>DYMobileNetV3 x 0.25</td>\n",
       "      <td>1.241960</td>\n",
       "      <td>14.338814</td>\n",
       "      <td>25.230734</td>\n",
       "      <td>0.544798</td>\n",
       "      <td>0.238768</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>DYMobileNetV3 x 0.5</td>\n",
       "      <td>2.525336</td>\n",
       "      <td>29.976507</td>\n",
       "      <td>30.655261</td>\n",
       "      <td>0.694685</td>\n",
       "      <td>0.304459</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>DYMobileNetV3 x 1</td>\n",
       "      <td>6.048458</td>\n",
       "      <td>71.630714</td>\n",
       "      <td>45.559970</td>\n",
       "      <td>1.884640</td>\n",
       "      <td>0.825980</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   model  params(M)    flops(M)  inf_time_mean(ms)  \\\n",
       "0        ResNet10 x 0.25   0.333336   52.825228           6.163139   \n",
       "1         ResNet10 x 0.5   1.277800  122.835288           9.669995   \n",
       "2           ResNet10 x 1   5.000712  243.568724          19.300563   \n",
       "3      DYResNet10 x 0.25   1.259164   53.844851           9.444115   \n",
       "4       DYResNet10 x 0.5   4.979780  125.735813          18.614882   \n",
       "5         DYResNet10 x 1  19.806100  253.903178          55.673487   \n",
       "6     MobileNetV2 x 0.25   0.494312    6.561356          17.779120   \n",
       "7      MobileNetV2 x 0.5   0.943880   17.835962          24.552521   \n",
       "8        MobileNetV2 x 1   2.480072   54.999226          37.903972   \n",
       "9   DYMobileNetV2 x 0.25   1.327760    8.451366          34.874476   \n",
       "10   DYMobileNetV2 x 0.5   3.542538   21.752851          46.860316   \n",
       "11     DYMobileNetV2 x 1  11.379740   63.088196          69.653381   \n",
       "12    MobileNetV3 x 0.25   0.517720   12.819996          13.998639   \n",
       "13     MobileNetV3 x 0.5   0.877872   27.124306          17.808580   \n",
       "14       MobileNetV3 x 1   1.913568   66.941267          25.894316   \n",
       "15  DYMobileNetV3 x 0.25   1.241960   14.338814          25.230734   \n",
       "16   DYMobileNetV3 x 0.5   2.525336   29.976507          30.655261   \n",
       "17     DYMobileNetV3 x 1   6.048458   71.630714          45.559970   \n",
       "\n",
       "    inf_time_std(ms)  inf_time_95_ci  \n",
       "0           0.593935        0.260304  \n",
       "1           0.385042        0.168752  \n",
       "2           1.625348        0.712340  \n",
       "3           0.694568        0.304408  \n",
       "4           1.341042        0.587738  \n",
       "5           2.277891        0.998330  \n",
       "6           0.904191        0.396279  \n",
       "7           1.698114        0.744231  \n",
       "8           1.655225        0.725434  \n",
       "9           2.963840        1.298960  \n",
       "10          2.775069        1.216228  \n",
       "11          5.231054        2.292611  \n",
       "12          0.534191        0.234120  \n",
       "13          0.502749        0.220340  \n",
       "14          0.702401        0.307841  \n",
       "15          0.544798        0.238768  \n",
       "16          0.694685        0.304459  \n",
       "17          1.884640        0.825980  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "res_1_54 = profile_models(networks, convs, width_multipliers, torch.rand(1, 3, 54, 54), 200, 20)\n",
    "display(res_1_54)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "minimal-oklahoma",
   "metadata": {},
   "source": [
    "### Profile using single input with large size \n",
    "\n",
    "We use input with size $[3, 224, 224]$ and $10$ output classes corresponding to Imagenette dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "scenic-ivory",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>model</th>\n",
       "      <th>params(M)</th>\n",
       "      <th>flops(M)</th>\n",
       "      <th>inf_time_mean(ms)</th>\n",
       "      <th>inf_time_std(ms)</th>\n",
       "      <th>inf_time_95_ci</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>ResNet10 x 0.25</td>\n",
       "      <td>0.308826</td>\n",
       "      <td>268.186402</td>\n",
       "      <td>27.124190</td>\n",
       "      <td>2.610819</td>\n",
       "      <td>1.144242</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>ResNet10 x 0.5</td>\n",
       "      <td>1.228970</td>\n",
       "      <td>1049.610803</td>\n",
       "      <td>65.086343</td>\n",
       "      <td>4.884365</td>\n",
       "      <td>2.140667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>ResNet10 x 1</td>\n",
       "      <td>4.903242</td>\n",
       "      <td>4104.345166</td>\n",
       "      <td>181.634638</td>\n",
       "      <td>21.526179</td>\n",
       "      <td>9.434264</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>DYResNet10 x 0.25</td>\n",
       "      <td>1.234654</td>\n",
       "      <td>270.017922</td>\n",
       "      <td>32.620505</td>\n",
       "      <td>1.904869</td>\n",
       "      <td>0.834846</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>DYResNet10 x 0.5</td>\n",
       "      <td>4.930950</td>\n",
       "      <td>1054.235268</td>\n",
       "      <td>81.256869</td>\n",
       "      <td>5.483137</td>\n",
       "      <td>2.403091</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>DYResNet10 x 1</td>\n",
       "      <td>19.708630</td>\n",
       "      <td>4118.123092</td>\n",
       "      <td>212.353484</td>\n",
       "      <td>9.908679</td>\n",
       "      <td>4.342670</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>MobileNetV2 x 0.25</td>\n",
       "      <td>0.250922</td>\n",
       "      <td>43.215230</td>\n",
       "      <td>26.387662</td>\n",
       "      <td>1.055205</td>\n",
       "      <td>0.462464</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>MobileNetV2 x 0.5</td>\n",
       "      <td>0.700490</td>\n",
       "      <td>101.785906</td>\n",
       "      <td>38.108613</td>\n",
       "      <td>1.840231</td>\n",
       "      <td>0.806517</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>MobileNetV2 x 1</td>\n",
       "      <td>2.236682</td>\n",
       "      <td>288.195854</td>\n",
       "      <td>70.817647</td>\n",
       "      <td>8.692097</td>\n",
       "      <td>3.809479</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>DYMobileNetV2 x 0.25</td>\n",
       "      <td>1.084370</td>\n",
       "      <td>45.959054</td>\n",
       "      <td>43.608796</td>\n",
       "      <td>1.966018</td>\n",
       "      <td>0.861645</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>DYMobileNetV2 x 0.5</td>\n",
       "      <td>3.299148</td>\n",
       "      <td>106.355049</td>\n",
       "      <td>58.332443</td>\n",
       "      <td>3.030027</td>\n",
       "      <td>1.327968</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>DYMobileNetV2 x 1</td>\n",
       "      <td>11.136350</td>\n",
       "      <td>296.625647</td>\n",
       "      <td>95.485306</td>\n",
       "      <td>6.756288</td>\n",
       "      <td>2.961074</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>MobileNetV3 x 0.25</td>\n",
       "      <td>0.274330</td>\n",
       "      <td>69.408545</td>\n",
       "      <td>45.679557</td>\n",
       "      <td>2.565227</td>\n",
       "      <td>1.124260</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>MobileNetV3 x 0.5</td>\n",
       "      <td>0.634482</td>\n",
       "      <td>112.479394</td>\n",
       "      <td>69.747971</td>\n",
       "      <td>2.370426</td>\n",
       "      <td>1.038885</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>MobileNetV3 x 1</td>\n",
       "      <td>1.670178</td>\n",
       "      <td>309.302576</td>\n",
       "      <td>136.058180</td>\n",
       "      <td>4.332118</td>\n",
       "      <td>1.898635</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>DYMobileNetV3 x 0.25</td>\n",
       "      <td>0.998570</td>\n",
       "      <td>71.898914</td>\n",
       "      <td>57.784746</td>\n",
       "      <td>1.672093</td>\n",
       "      <td>0.732827</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>DYMobileNetV3 x 0.5</td>\n",
       "      <td>2.281946</td>\n",
       "      <td>116.733840</td>\n",
       "      <td>87.679509</td>\n",
       "      <td>3.051648</td>\n",
       "      <td>1.337444</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>DYMobileNetV3 x 1</td>\n",
       "      <td>5.805068</td>\n",
       "      <td>316.804026</td>\n",
       "      <td>203.573813</td>\n",
       "      <td>33.010374</td>\n",
       "      <td>14.467434</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   model  params(M)     flops(M)  inf_time_mean(ms)  \\\n",
       "0        ResNet10 x 0.25   0.308826   268.186402          27.124190   \n",
       "1         ResNet10 x 0.5   1.228970  1049.610803          65.086343   \n",
       "2           ResNet10 x 1   4.903242  4104.345166         181.634638   \n",
       "3      DYResNet10 x 0.25   1.234654   270.017922          32.620505   \n",
       "4       DYResNet10 x 0.5   4.930950  1054.235268          81.256869   \n",
       "5         DYResNet10 x 1  19.708630  4118.123092         212.353484   \n",
       "6     MobileNetV2 x 0.25   0.250922    43.215230          26.387662   \n",
       "7      MobileNetV2 x 0.5   0.700490   101.785906          38.108613   \n",
       "8        MobileNetV2 x 1   2.236682   288.195854          70.817647   \n",
       "9   DYMobileNetV2 x 0.25   1.084370    45.959054          43.608796   \n",
       "10   DYMobileNetV2 x 0.5   3.299148   106.355049          58.332443   \n",
       "11     DYMobileNetV2 x 1  11.136350   296.625647          95.485306   \n",
       "12    MobileNetV3 x 0.25   0.274330    69.408545          45.679557   \n",
       "13     MobileNetV3 x 0.5   0.634482   112.479394          69.747971   \n",
       "14       MobileNetV3 x 1   1.670178   309.302576         136.058180   \n",
       "15  DYMobileNetV3 x 0.25   0.998570    71.898914          57.784746   \n",
       "16   DYMobileNetV3 x 0.5   2.281946   116.733840          87.679509   \n",
       "17     DYMobileNetV3 x 1   5.805068   316.804026         203.573813   \n",
       "\n",
       "    inf_time_std(ms)  inf_time_95_ci  \n",
       "0           2.610819        1.144242  \n",
       "1           4.884365        2.140667  \n",
       "2          21.526179        9.434264  \n",
       "3           1.904869        0.834846  \n",
       "4           5.483137        2.403091  \n",
       "5           9.908679        4.342670  \n",
       "6           1.055205        0.462464  \n",
       "7           1.840231        0.806517  \n",
       "8           8.692097        3.809479  \n",
       "9           1.966018        0.861645  \n",
       "10          3.030027        1.327968  \n",
       "11          6.756288        2.961074  \n",
       "12          2.565227        1.124260  \n",
       "13          2.370426        1.038885  \n",
       "14          4.332118        1.898635  \n",
       "15          1.672093        0.732827  \n",
       "16          3.051648        1.337444  \n",
       "17         33.010374       14.467434  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "res_1_224 = profile_models(networks, convs, width_multipliers, torch.rand(1, 3, 224, 224), 10, 20)\n",
    "display(res_1_224)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "steady-jurisdiction",
   "metadata": {},
   "source": [
    "### Profile using a batch with small image size \n",
    "\n",
    "We use input with size $[10, 3, 54, 54]$ and $200$ output classes corresponding to Tiny ImageNet dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "outer-malpractice",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>model</th>\n",
       "      <th>params(M)</th>\n",
       "      <th>flops(M)</th>\n",
       "      <th>inf_time_mean(ms)</th>\n",
       "      <th>inf_time_std(ms)</th>\n",
       "      <th>inf_time_95_ci</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>ResNet10 x 0.25</td>\n",
       "      <td>0.333336</td>\n",
       "      <td>151.436572</td>\n",
       "      <td>21.324410</td>\n",
       "      <td>2.158147</td>\n",
       "      <td>0.945850</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>ResNet10 x 0.5</td>\n",
       "      <td>1.277800</td>\n",
       "      <td>590.061674</td>\n",
       "      <td>48.423546</td>\n",
       "      <td>4.056932</td>\n",
       "      <td>1.778029</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>ResNet10 x 1</td>\n",
       "      <td>5.000712</td>\n",
       "      <td>2323.435870</td>\n",
       "      <td>105.378940</td>\n",
       "      <td>7.956145</td>\n",
       "      <td>3.486934</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>DYResNet10 x 0.25</td>\n",
       "      <td>1.259164</td>\n",
       "      <td>159.270468</td>\n",
       "      <td>38.439158</td>\n",
       "      <td>1.312155</td>\n",
       "      <td>0.575077</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>DYResNet10 x 0.5</td>\n",
       "      <td>4.979780</td>\n",
       "      <td>619.337889</td>\n",
       "      <td>123.477939</td>\n",
       "      <td>4.094421</td>\n",
       "      <td>1.794459</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>DYResNet10 x 1</td>\n",
       "      <td>19.806100</td>\n",
       "      <td>2436.872543</td>\n",
       "      <td>444.365708</td>\n",
       "      <td>18.606629</td>\n",
       "      <td>8.154715</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>MobileNetV2 x 0.25</td>\n",
       "      <td>0.494312</td>\n",
       "      <td>12.959320</td>\n",
       "      <td>26.891537</td>\n",
       "      <td>1.799779</td>\n",
       "      <td>0.788788</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>MobileNetV2 x 0.5</td>\n",
       "      <td>0.943880</td>\n",
       "      <td>29.903508</td>\n",
       "      <td>36.366118</td>\n",
       "      <td>1.817140</td>\n",
       "      <td>0.796397</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>MobileNetV2 x 1</td>\n",
       "      <td>2.480072</td>\n",
       "      <td>86.537668</td>\n",
       "      <td>57.474279</td>\n",
       "      <td>1.869921</td>\n",
       "      <td>0.819529</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>DYMobileNetV2 x 0.25</td>\n",
       "      <td>1.327760</td>\n",
       "      <td>24.632357</td>\n",
       "      <td>55.160326</td>\n",
       "      <td>2.864434</td>\n",
       "      <td>1.255393</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>DYMobileNetV2 x 0.5</td>\n",
       "      <td>3.542538</td>\n",
       "      <td>54.101400</td>\n",
       "      <td>91.334910</td>\n",
       "      <td>4.106779</td>\n",
       "      <td>1.799875</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>DYMobileNetV2 x 1</td>\n",
       "      <td>11.379740</td>\n",
       "      <td>146.469283</td>\n",
       "      <td>219.531271</td>\n",
       "      <td>8.071994</td>\n",
       "      <td>3.537707</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>MobileNetV3 x 0.25</td>\n",
       "      <td>0.517720</td>\n",
       "      <td>35.771879</td>\n",
       "      <td>32.535911</td>\n",
       "      <td>1.532990</td>\n",
       "      <td>0.671862</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>MobileNetV3 x 0.5</td>\n",
       "      <td>0.877872</td>\n",
       "      <td>70.969049</td>\n",
       "      <td>46.146372</td>\n",
       "      <td>1.892174</td>\n",
       "      <td>0.829282</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>MobileNetV3 x 1</td>\n",
       "      <td>1.913568</td>\n",
       "      <td>193.577375</td>\n",
       "      <td>83.761206</td>\n",
       "      <td>2.920812</td>\n",
       "      <td>1.280102</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>DYMobileNetV3 x 0.25</td>\n",
       "      <td>1.241960</td>\n",
       "      <td>44.251316</td>\n",
       "      <td>60.471181</td>\n",
       "      <td>5.900557</td>\n",
       "      <td>2.586033</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>DYMobileNetV3 x 0.5</td>\n",
       "      <td>2.525336</td>\n",
       "      <td>87.438943</td>\n",
       "      <td>93.473293</td>\n",
       "      <td>3.100206</td>\n",
       "      <td>1.358725</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>DYMobileNetV3 x 1</td>\n",
       "      <td>6.048458</td>\n",
       "      <td>229.725794</td>\n",
       "      <td>190.862659</td>\n",
       "      <td>9.065652</td>\n",
       "      <td>3.973197</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   model  params(M)     flops(M)  inf_time_mean(ms)  \\\n",
       "0        ResNet10 x 0.25   0.333336   151.436572          21.324410   \n",
       "1         ResNet10 x 0.5   1.277800   590.061674          48.423546   \n",
       "2           ResNet10 x 1   5.000712  2323.435870         105.378940   \n",
       "3      DYResNet10 x 0.25   1.259164   159.270468          38.439158   \n",
       "4       DYResNet10 x 0.5   4.979780   619.337889         123.477939   \n",
       "5         DYResNet10 x 1  19.806100  2436.872543         444.365708   \n",
       "6     MobileNetV2 x 0.25   0.494312    12.959320          26.891537   \n",
       "7      MobileNetV2 x 0.5   0.943880    29.903508          36.366118   \n",
       "8        MobileNetV2 x 1   2.480072    86.537668          57.474279   \n",
       "9   DYMobileNetV2 x 0.25   1.327760    24.632357          55.160326   \n",
       "10   DYMobileNetV2 x 0.5   3.542538    54.101400          91.334910   \n",
       "11     DYMobileNetV2 x 1  11.379740   146.469283         219.531271   \n",
       "12    MobileNetV3 x 0.25   0.517720    35.771879          32.535911   \n",
       "13     MobileNetV3 x 0.5   0.877872    70.969049          46.146372   \n",
       "14       MobileNetV3 x 1   1.913568   193.577375          83.761206   \n",
       "15  DYMobileNetV3 x 0.25   1.241960    44.251316          60.471181   \n",
       "16   DYMobileNetV3 x 0.5   2.525336    87.438943          93.473293   \n",
       "17     DYMobileNetV3 x 1   6.048458   229.725794         190.862659   \n",
       "\n",
       "    inf_time_std(ms)  inf_time_95_ci  \n",
       "0           2.158147        0.945850  \n",
       "1           4.056932        1.778029  \n",
       "2           7.956145        3.486934  \n",
       "3           1.312155        0.575077  \n",
       "4           4.094421        1.794459  \n",
       "5          18.606629        8.154715  \n",
       "6           1.799779        0.788788  \n",
       "7           1.817140        0.796397  \n",
       "8           1.869921        0.819529  \n",
       "9           2.864434        1.255393  \n",
       "10          4.106779        1.799875  \n",
       "11          8.071994        3.537707  \n",
       "12          1.532990        0.671862  \n",
       "13          1.892174        0.829282  \n",
       "14          2.920812        1.280102  \n",
       "15          5.900557        2.586033  \n",
       "16          3.100206        1.358725  \n",
       "17          9.065652        3.973197  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "res_10_54 = profile_models(networks, convs, width_multipliers, torch.rand(10, 3, 54, 54), 200, 20)\n",
    "display(res_10_54)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "documentary-verse",
   "metadata": {},
   "source": [
    "### Profile using batch with large image size \n",
    "\n",
    "We use input with size $[10, 3, 224, 224]$ and $10$ output classes corresponding to Imagenette dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "failing-jungle",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>model</th>\n",
       "      <th>params(M)</th>\n",
       "      <th>flops(M)</th>\n",
       "      <th>inf_time_mean(ms)</th>\n",
       "      <th>inf_time_std(ms)</th>\n",
       "      <th>inf_time_95_ci</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>ResNet10 x 0.25</td>\n",
       "      <td>0.308826</td>\n",
       "      <td>2656.271002</td>\n",
       "      <td>343.044482</td>\n",
       "      <td>19.822566</td>\n",
       "      <td>8.687623</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>ResNet10 x 0.5</td>\n",
       "      <td>1.228970</td>\n",
       "      <td>10367.612383</td>\n",
       "      <td>796.663297</td>\n",
       "      <td>48.274459</td>\n",
       "      <td>21.157214</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>ResNet10 x 1</td>\n",
       "      <td>4.903242</td>\n",
       "      <td>40903.771546</td>\n",
       "      <td>2506.782881</td>\n",
       "      <td>115.598055</td>\n",
       "      <td>50.663081</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>DYResNet10 x 0.25</td>\n",
       "      <td>1.234654</td>\n",
       "      <td>2672.892198</td>\n",
       "      <td>414.938014</td>\n",
       "      <td>12.406077</td>\n",
       "      <td>5.437203</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>DYResNet10 x 0.5</td>\n",
       "      <td>4.930950</td>\n",
       "      <td>10414.690922</td>\n",
       "      <td>878.690565</td>\n",
       "      <td>40.590804</td>\n",
       "      <td>17.789704</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>DYResNet10 x 1</td>\n",
       "      <td>19.708630</td>\n",
       "      <td>41051.778975</td>\n",
       "      <td>2520.868169</td>\n",
       "      <td>216.810294</td>\n",
       "      <td>95.021301</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>MobileNetV2 x 0.25</td>\n",
       "      <td>0.250922</td>\n",
       "      <td>153.564568</td>\n",
       "      <td>151.423125</td>\n",
       "      <td>4.114021</td>\n",
       "      <td>1.803049</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>MobileNetV2 x 0.5</td>\n",
       "      <td>0.700490</td>\n",
       "      <td>371.901062</td>\n",
       "      <td>239.727367</td>\n",
       "      <td>3.244922</td>\n",
       "      <td>1.422150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>MobileNetV2 x 1</td>\n",
       "      <td>2.236682</td>\n",
       "      <td>1099.673736</td>\n",
       "      <td>410.900930</td>\n",
       "      <td>27.459548</td>\n",
       "      <td>12.034677</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>DYMobileNetV2 x 0.25</td>\n",
       "      <td>1.084370</td>\n",
       "      <td>169.805437</td>\n",
       "      <td>169.132360</td>\n",
       "      <td>7.431375</td>\n",
       "      <td>3.256944</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>DYMobileNetV2 x 0.5</td>\n",
       "      <td>3.299148</td>\n",
       "      <td>402.038383</td>\n",
       "      <td>292.463169</td>\n",
       "      <td>18.398244</td>\n",
       "      <td>8.063386</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>DYMobileNetV2 x 1</td>\n",
       "      <td>11.136350</td>\n",
       "      <td>1166.851636</td>\n",
       "      <td>567.900948</td>\n",
       "      <td>28.236514</td>\n",
       "      <td>12.375198</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>MobileNetV3 x 0.25</td>\n",
       "      <td>0.274330</td>\n",
       "      <td>532.931330</td>\n",
       "      <td>499.271492</td>\n",
       "      <td>19.941113</td>\n",
       "      <td>8.739578</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>MobileNetV3 x 0.5</td>\n",
       "      <td>0.634482</td>\n",
       "      <td>1105.818932</td>\n",
       "      <td>844.177954</td>\n",
       "      <td>27.475898</td>\n",
       "      <td>12.041843</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>MobileNetV3 x 1</td>\n",
       "      <td>1.670178</td>\n",
       "      <td>3063.789820</td>\n",
       "      <td>1481.841561</td>\n",
       "      <td>69.837037</td>\n",
       "      <td>30.607431</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>DYMobileNetV3 x 0.25</td>\n",
       "      <td>0.998570</td>\n",
       "      <td>557.555582</td>\n",
       "      <td>547.793776</td>\n",
       "      <td>22.997264</td>\n",
       "      <td>10.078995</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>DYMobileNetV3 x 0.5</td>\n",
       "      <td>2.281946</td>\n",
       "      <td>1164.615617</td>\n",
       "      <td>876.273663</td>\n",
       "      <td>41.824599</td>\n",
       "      <td>18.330439</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>DYMobileNetV3 x 1</td>\n",
       "      <td>5.805068</td>\n",
       "      <td>3206.690733</td>\n",
       "      <td>1649.822195</td>\n",
       "      <td>53.876476</td>\n",
       "      <td>23.612407</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                   model  params(M)      flops(M)  inf_time_mean(ms)  \\\n",
       "0        ResNet10 x 0.25   0.308826   2656.271002         343.044482   \n",
       "1         ResNet10 x 0.5   1.228970  10367.612383         796.663297   \n",
       "2           ResNet10 x 1   4.903242  40903.771546        2506.782881   \n",
       "3      DYResNet10 x 0.25   1.234654   2672.892198         414.938014   \n",
       "4       DYResNet10 x 0.5   4.930950  10414.690922         878.690565   \n",
       "5         DYResNet10 x 1  19.708630  41051.778975        2520.868169   \n",
       "6     MobileNetV2 x 0.25   0.250922    153.564568         151.423125   \n",
       "7      MobileNetV2 x 0.5   0.700490    371.901062         239.727367   \n",
       "8        MobileNetV2 x 1   2.236682   1099.673736         410.900930   \n",
       "9   DYMobileNetV2 x 0.25   1.084370    169.805437         169.132360   \n",
       "10   DYMobileNetV2 x 0.5   3.299148    402.038383         292.463169   \n",
       "11     DYMobileNetV2 x 1  11.136350   1166.851636         567.900948   \n",
       "12    MobileNetV3 x 0.25   0.274330    532.931330         499.271492   \n",
       "13     MobileNetV3 x 0.5   0.634482   1105.818932         844.177954   \n",
       "14       MobileNetV3 x 1   1.670178   3063.789820        1481.841561   \n",
       "15  DYMobileNetV3 x 0.25   0.998570    557.555582         547.793776   \n",
       "16   DYMobileNetV3 x 0.5   2.281946   1164.615617         876.273663   \n",
       "17     DYMobileNetV3 x 1   5.805068   3206.690733        1649.822195   \n",
       "\n",
       "    inf_time_std(ms)  inf_time_95_ci  \n",
       "0          19.822566        8.687623  \n",
       "1          48.274459       21.157214  \n",
       "2         115.598055       50.663081  \n",
       "3          12.406077        5.437203  \n",
       "4          40.590804       17.789704  \n",
       "5         216.810294       95.021301  \n",
       "6           4.114021        1.803049  \n",
       "7           3.244922        1.422150  \n",
       "8          27.459548       12.034677  \n",
       "9           7.431375        3.256944  \n",
       "10         18.398244        8.063386  \n",
       "11         28.236514       12.375198  \n",
       "12         19.941113        8.739578  \n",
       "13         27.475898       12.041843  \n",
       "14         69.837037       30.607431  \n",
       "15         22.997264       10.078995  \n",
       "16         41.824599       18.330439  \n",
       "17         53.876476       23.612407  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "res_10_224 = profile_models(networks, convs, width_multipliers, torch.rand(10, 3, 224, 224), 10, 20)\n",
    "display(res_10_224)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "controlled-internship",
   "metadata": {},
   "outputs": [],
   "source": [
    "x = torch.rand(1, 3, 54, 54)\n",
    "n_classes = 200"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "instant-mounting",
   "metadata": {},
   "outputs": [],
   "source": [
    "params = []\n",
    "flops = []\n",
    "labels = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "bronze-vitamin",
   "metadata": {},
   "outputs": [],
   "source": [
    "def compute_specs(model, params, flops):\n",
    "    specs = profile(model, (x, 1), 1)\n",
    "    params.append(specs[\"params(M)\"])\n",
    "    flops.append(specs[\"flops(M)\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "super-thesaurus",
   "metadata": {},
   "outputs": [],
   "source": [
    "width_multipliers = [0.5, 1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "arabic-distributor",
   "metadata": {},
   "outputs": [],
   "source": [
    "for network in networks:\n",
    "    for wm in width_multipliers:\n",
    "        labels.append(network.__name__ + \" x \" + str(wm))\n",
    "        params.append([])\n",
    "        flops.append([])\n",
    "        compute_specs(network(Conv2dWrapper, width_multiplier=wm, num_classes=n_classes), params[-1], flops[-1])\n",
    "        for n_kernels in range(1, 11):\n",
    "            compute_specs(network(dynamic_convolution_generator(n_kernels, 4), width_multiplier=wm, num_classes=n_classes), params[-1], flops[-1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "joined-louisiana",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "wired-makeup",
   "metadata": {},
   "outputs": [],
   "source": [
    "flops = np.array(flops).T\n",
    "params = np.array(params).T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "impaired-withdrawal",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.colors import ListedColormap\n",
    "\n",
    "fig = plt.figure(figsize=(10, 6))\n",
    "lines = plt.plot(flops[1:, :], params[1:, :], linewidth=2, marker=\"*\", markersize=14, linestyle=\"\", markeredgecolor=\"black\");\n",
    "circles = plt.scatter(flops[0, :], params[0, :], c=range(0, len(labels)), cmap=ListedColormap([l.get_color() for l in lines]), marker=\"o\", linewidth=8)\n",
    "plt.xlabel(\"FLOPs (M)\", fontsize=18)\n",
    "plt.ylabel(\"Parameters (M)\", fontsize=18)\n",
    "plt.xticks(fontsize=18)\n",
    "plt.yticks(fontsize=18)\n",
    "plt.legend(lines + circles.legend_elements()[0], [\"DY-\" + l for l in labels] + labels, fontsize=15, bbox_to_anchor=(1, 0.95));\n",
    "fig.savefig(\"plot.pdf\", bbox_inches='tight');"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
